<?php

require_once 'BD.class.php';

class Usuario {

    private $login;
    private $puntos;
    private $fase;
    //variaveis internas
    private $bd; //conexão com o banco
    private $tabela; //nome da tabela

    public function __construct() {
        $this->bd = new BD();
        $this->tabela = "usuario";
    }
    public function __destruct() {
        unset($this->bd);
    }

    public function __get($key) {
        return $this->$key;
    }

    //método de retorno de valores do objeto 
    public function __set($key, $value) {
        $this->$key = $value;
    }

    //METODOS 
    //BANCO DE DADOS
    public function inserir() {
        
        $sql = "INSERT INTO $this->tabela (login,puntos,fase) values ('$this->login',$this->puntos,'$this->fase')";
        $retorno = pg_query($sql);
        return $retorno;
    }
    
       
    
    
    public function listar() {
       /* $verificar = "SELECT login from $this->tabela";
        $resultado = pg_query($verificar);
        $array = pg_fetch_array($resultado);
       
        
        foreach ($array as $value) {
            if($array['login']==$value){
               $msg="O login".$array['login']." ja foi cadastrado"; 
            }else{
            
        */
        
        $sql = "SELECT * FROM $this->tabela";

        $resultado = pg_query($sql);
        $retorno = NULL;
        //percorre os registros
        while ($reg = pg_fetch_assoc($resultado)) {
            //transforma em objetos categoria
            $obj = new Usuario();
            $obj->login = $reg["login"];
            $obj->puntos = $reg["puntos"];
            $obj->fase = $reg["fase"];
            //adiciona a variavel de retorno
            $retorno[] = $obj;
        
        }
        return $retorno;
    }


   public function excluir() {
        
        $sql = "delete from $this->tabela where login='$this->login'";
        $retorno = pg_query($sql);
        return $retorno;
    
   }
    public function atualizar() {
        $retorno = false;
        $sql = "update $this->tabela set nome='$this->nome' where
                     codigo=$this->codigo";
        $retorno = pg_query($sql);
        return $retorno;
    }

    public function retornarunico() {
        $sql = "Select * FROM $this->tabela where codigo=$this->codigo";

        $resultado = pg_query($sql);
        $retorno = NULL;

        $req = pg_fetch_assoc($resultado);
        if ($req == true) {
            $obj = new Usuario();
            $obj->setCodigo($req["codigo"]);
            $obj->setNome($req["nome"]);

            $retorno = $obj;
        } else {
            $retorno = null;
        }

        return $retorno;
    }
   
    
    public function retornarlogin() {
        $sql = "Select login,senha FROM $this->tabela where login='$this->login' and senha='$this->senha'";

        $resultado = pg_query($sql);
      

        $req = pg_fetch_assoc($resultado);
        
        return $req;
    }
    
}

